package edu.gatech.wms.models;


import java.util.List;

import android.graphics.Bitmap;
import android.location.Address;

public class Item {
	
	private String name; 
	private ItemType type;
	private int id;
	private String description;
	private Bitmap image;
	private int ownerId;
	private Address loc;
	private List<String> categories;
	private String creationDate;
	
	public Item(String _name, ItemType _itemType, int idNum, String descr, Bitmap img, int _ownrID, Address local, List<String> categ)
	{
		name = _name;
		type = _itemType;
		id = idNum;
		description = descr;
		image = img;
		ownerId = _ownrID;
		loc = local;
		categories = categ;
	}
	
	/**
	 * 
	 * @return
	 */
	public String getCreationDate() {
		return creationDate;
	}
	/**
	 * 
	 * @param date
	 */
	public void setCreationDate(String date) {
		creationDate = date;
	}
	
	/**
	 * 
	 * @return Items Name
	 */
	public String getName() {
		return name;
	}
	/**
	 * 
	 * @param _name New Name of Item Object
	 */
	public void setName(String _name) {
		name = _name;
	}
	/**
	 * 
	 * @return Return Type Identifier
	 */
	public ItemType getType() {
		return type;
	}
	/**
	 * 
	 * @param _type Set Type Identifier
	 */
	public void setType(ItemType _type) {
		type = _type;
	}
	
	/**
	 * @return int : Item's id number
	 */
	public int getId(){
		return id;
	}
	
	/**
	 * 
	 * @return Return Description String for Item
	 */
	public String getDescription() {
		return description;
	}
	/**
	 * 
	 * @param _description Changed Item Description
	 */
	public void setDescription(String _description) {
		description = _description;
	}
	/**
	 * 
	 * @return User Object that owns this Item
	 */
	public int getOwnerId() {
		return ownerId;
	}
	/**
	 * 
	 * @param user Change Owner Of this Item Object
	 */
	public void setOwner(int userId) {
		ownerId = userId;
	}
	/**
	 * 
	 * @return Return Image for Item
	 */
	public Bitmap getImage() {
		return image;
	}
	/**
	 * 
	 * @param o Set Item for Image
	 */
	public void setImage(Bitmap o) {
		image = o;
	}
	/**
	 * 
	 * @return Get Location properties for Item
	 */
	public Address getAddress() {
		return loc;
	}
	/**
	 * 
	 * @param o New Item Location
	 */
	public void setAddress(Address o) {
		loc = o;
	}
	/**
	 * 
	 * @return Return List of Strings of Item Categories
	 */
	public List<String> getCategories() {
		return categories;
	}
	/**
	 * 
	 * @param _categories Change Categories for Item
	 */
	public void setCategories(List<String> _categories) {
		categories = _categories;
	}

}
